_MMPFN

//0x18 bytes (sizeof) struct _MMPFN { union { ULONG Flink; //0x0 ULONG WsIndex; //0x0 struct _KEVENT* Event; //0x0 VOID* Next; //0x0 VOID* volatile VolatileNext; //0x0 struct _KTHREAD* KernelStackOwner; //0x0 struct _SINGLE_LIST_ENTRY NextStackPfn; //0x0 } u1; //0x0 union { ULONG Blink; //0x4 struct _MMPTE* ImageProtoPte; //0x4 ULONG ShareCount; //0x4 } u2; //0x4 union { struct _MMPTE* PteAddress; //0x8 VOID* volatile VolatilePteAddress; //0x8 }; union { struct { USHORT ReferenceCount; //0xc struct _MMPFNENTRY e1; //0xe }; struct { union { USHORT ReferenceCount; //0xc volatile SHORT VolatileReferenceCount; //0xc }; USHORT ShortFlags; //0xe } e2; //0xc struct { USHORT ReferenceCount; //0xc UCHAR ByteFlags; //0xe UCHAR InterlockedByteFlags; //0xf } e3; //0xc } u3; //0xc union { struct _MMPTE OriginalPte; //0x10 volatile LONG AweReferenceCount; //0x10 }; union { ULONG PteFrame:25; //0x14 ULONG PfnImageVerified:1; //0x14 ULONG AweAllocation:1; //0x14 ULONG PrototypePte:1; //0x14 ULONG PageColor:4; //0x14 } u4; //0x14 };